//
// Created by luzhan on 19-10-4.
//

#ifndef ENERGY_FINDER_TARGETPREDICTION_HPP
#define ENERGY_FINDER_TARGETPREDICTION_HPP
#include <vector>
#include <opencv2/opencv.hpp>
#include "energy.hpp"

typedef enum {
    UNKNOWN = 0,
    CW      = 1,
    CCW     = 2,
    STATIC  = 3
};

class TargetPrediction {
public:

private:
    cv::Point predicted_point;
    std::vector<cv::Point> points_array[25];
    std::vector<double> angle_array;
    double angle;
    double angle_offset;
public:
    TargetPrediction();
    ~TargetPrediction();
    void toPolarCoordinates(cv::Point current_point, cv::Point origin_point, double R);  //计算极坐标系下的角度
    int judgeDirection();      //判断方向
    void predicting(Energy &energy);          //预测位置
    int direction;
private:
};


#endif //ENERGY_FINDER_TARGETPREDICTION_HPP
